전공 · 모든 회사 / 데이터엔지니어
Q. SQL 심화과정 조인과 관련된 질문
★ 예제 문제 ★ 사원 테이블과 부서 테이블을 크로스 조인하여 '배재용' 사원에 대한 정보(이름, 사원 테이블의 부서번호, 부서 테이블의 부서번호, 부서명)를 보이세요. 1. ANSI SQL 조인 SELECT 부서.부서번호 ,부서명 ,이름 ,사원.부서번호 FROM 부서 CROSS JOIN 사원 WHERE 이름 = '배재용'; 2. Non–ANSI SQL 조인 SELECT 부서.부서번호 ,부서명 ,이름 ,사원.부서번호 FROM 부서 ,사원 WHERE 이름 = '배재용'; ANSI SQL 조인과 Non–ANSU SQL 조인을 써도 컬럼이 아무것도 안 나오는데 뭐가 문제인지 모르겠어요.
2026.08.06
답변 4
- PPRO액티브현대트랜시스코전무 ∙ 채택률 100%
채택된 답변
현재 작성하신 SQL 자체는 문법 오류는 없어 보입니다. 결과가 아무것도 나오지 않는다면 조인 방식의 문제가 아니라 WHERE 조건인 이름 = '배재용'에서 조건을 만족하는 데이터가 없을 가능성이 가장 높습니다. 먼저 확인해야 할 것은 사원 테이블에 정말 배재용이라는 이름이 존재하는지입니다. 아래 쿼리를 먼저 실행해보세요. SELECT 이름 FROM 사원; 여기서 실제 저장된 이름 목록을 확인해보면 됩니다. 만약 배재용이 보이지 않는다면 당연히 결과가 나오지 않습니다. 또 자주 발생하는 문제가 이름 데이터 뒤에 공백이 들어간 경우입니다. 예를 들어 실제 값이 '배재용 '처럼 저장되어 있으면 화면상으로는 똑같아 보여도 SQL에서는 다른 값으로 인식합니다. 이 경우 아래처럼 확인해볼 수 있습니다. SELECT 이름 FROM 사원 WHERE TRIM(이름) = '배재용'; 이 결과가 나온다면 데이터에 공백이 포함된 것입니다. 그리고 예제 문제 자체를 보면 조금 이상한 부분도 있습니다. 문제에서는 크로스 조인을 하라고 했지만, 원하는 결과가 "배재용 사원의 부서번호와 부서명"이라면 일반적으로는 크로스 조인이 아니라 내부 조인을 사용하는 것이 맞습니다. 크로스 조인은 두 테이블의 모든 행을 조합하는 방식이라 부서와 사원의 관계를 연결하지 않습니다.
합격 메이트삼성전자코부사장 ∙ 채택률 79%채택된 답변
멘티님. 안녕하세요. 작성하신 쿼리 문법 자체는 정상이라 데이터가 출력되지 않는다면 테이블 내부 데이터 값의 불일치일 확률이 가장 높습니다. WHERE 절에 지정한 이름 조건에 공백이 포함되어 있거나 실제 데이터베이스에 배재용이라는 데이터가 입력되어 있지 않은지 확인해야 합니다. SELECT * FROM 사원 WHERE 이름 LIKE %배재용%; 같은 쿼리로 데이터가 존재하는지 먼저 조회해보는 편이 좋습니다. 데이터가 존재함에도 결과가 나오지 않는다면 컬럼명이나 오탈자 문제일 수 있으니 SELECT 문을 최소화해서 실행해보면 원인을 찾기 쉽습니다. 조건절의 문자열 데이터 형태를 다시 한번 점검하고 실행해보시기 바랍니다. 응원하겠습니다.
삼성전자-삼성전자코이사 ∙ 채택률 60%채택된 답변
실제 DB 테이블명과 컬럼명이 정확히 일치하는지 확인해보시고, 문제 없을 경우 WHERE 조건을 만족하는 행이 없다면 결과가 안나오는 것이 맞긴합니다.
취뽀도우미입니다대구교통공사코부장 ∙ 채택률 90%채택된 답변
작성해주신 두 가지 쿼리문 자체의 문법은 오류가 없기 때문에 SQL 구문 문제라기보다는 데이터의 상태를 확인해 보시는 것이 좋습니다. 먼저 사원 테이블에 '배재용'이라는 이름을 가진 데이터가 정확히 존재하는지 확인해 보시는 것을 권장합니다. 동명이인이 없거나 띄어쓰기나 대소문자 등의 오입력이 있을 경우 조건에 맞는 행이 조회되지 않아 결과가 나오지 않을 수 있습니다. 또한 크로스 조인은 두 테이블의 모든 행을 곱한 조합을 생성하기 때문에 데이터 양이 많아 결과가 늦게 나오거나 엉뚱한 조건으로 인해 빈 화면이 반환될 수 있습니다. 만약 이름 데이터가 정확함에도 결과가 없다면 사원 테이블의 이름 컬럼 값이나 데이터 존재 여부를 다시 한번 조회하여 확인해 보시는 방법을 추천드립니다.
함께 읽은 질문
Q. 데이터 분석관련 취업고민입니다.
현재 수학과 3학년을 재학중인 학생입니다. 데이터 분석쪽으로 진로를 정하고싶어 고민중입니다. 현실적으로 수학과 3학점 학생이 포트폴리오(velog), 프로젝트, 자격증만으로 전공자들과 경쟁성이 있는지, 취업이 가능한건지 궁금합니다. 또한 ai활용쪽으로도 같이공부하면 좋다고들었는데 그 경우에는 석박사의 학위가 필요한건지, ai로인해 단순 프로그래밍 작업 및 여러 개발자들은 채용이 점점 줄어들고있다고 하는데 이쪽 분야는 어떤지 궁금합니다. 혼자 고민하고 찾아보다가 현직 전문가분들이 가장 잘 아실것같아 여쭤봅니다 ㅠㅠ
Q. 조인 관련 질문
정보처리기사를 준비하면서 SQL JOIN을 공부하고 있습니다. INNER JOIN, LEFT JOIN, RIGHT JOIN을 각각 언제 사용하는지와 실무에서 자주 사용하는 사례를 예시와 함께 설명해 주실 수 있을까요?
Q. 석사 졸업 후 데이터 엔지니어 취업 고민
현재 정보통신공학 전공으로 곧 4학년에 올라가는 학부생입니다. 졸업 후에는 석사로 빅데이터 대학원에 진학하여 분산처리 환경에서 그래프 데이터 관련 연구를 진행할 예정입니다. 궁금한 점이 몇 가지 있습니다. 1. 이런 연구 경험이 석사 졸업 후 데이터 엔지니어로 취업하는 데 도움이 될까요? 2. 채용 공고를 보면 대부분 경력 3년 이상을 요구하던데, 석사 졸업생으로서 어떤 커리어 방향을 잡는 게 좋을지 조언을 듣고 싶습니다. 3. 현재는 데이터 엔지니어링 부트캠프를 병행하고 있어 기본적인 테크닉은 익히는 중입니다. 향후 대기업이나 금융권으로 진출하려면 어떤 방식으로 준비를 해야 할지도 궁금합니다. 4. 또 현재는 sqlp 자격증은 준비하는게 좋은 선택인지 궁금합니다. 참고로 연구실에서는 산학 과제를 많이 수행하지만, 대부분은 모델 개발 중심이라 인프라 관련 경험은 상대적으로 적은 편입니다. 이런 부분을 보완하기 위한 조언도 함께 주시면 감사하겠습니다.
궁금증이 남았나요?
빠르게 질문하세요.